查看原文
其他

服务器又被挖矿了,怎么防?

运维研习社 运维研习社 2022-11-05


最近很多小伙伴服务器都被挖矿了,简单总结下在应急过程中,常遇到的一些被挖矿的特征,以及防护方法,工具后面会进行详细的介绍分享





问题所在



要防止被挖矿,首先要明白挖矿的本质


挖矿本质就是快速产出,利用可以利用的资源,实现快速产出,获取收益


为什么要明白这个道理,就是因为,挖矿的人,大多不会把时间花费在你的某台服务器上,大多做法是通过网络空间搜索引擎或端口扫描工具等,进行整个网段的批量扫描,根据扫描结果筛选出能够快速自动化拿到权限的机子,再去自动化跑脚本处理


比如我通过fofa直接搜索redis,就可以拿到开放了redis,并且可以直接登录的服务器的列表,那我肯定直接导出列表,针对这些ip去拿权限 





常见特征




这种主要出问题的地方就是未授权漏洞,常见的未授权漏洞如下:

  • Hadoop未授权——50070

  • Mongodb未授权——27017

  • Redis未授权——6379

  • Elasticsearch未授权——9200

  • Memcached未授权——11211

  • Zookeeper未授权——2181/2888/3888

  • JBOSS未授权——8080

  • Docker未授权——2375

  • Rsync未授权——873

还有Gitlab、Jenkins、NFS、Samba等都有某些版本或因为配置不当存在未授权可访问的漏洞


除未授权漏洞之外,最多的被挖矿的,就是弱密码,包括:

  • 服务器系统用户弱口令

  • web弱口令

  • 中间件web管理端弱口令

  • 应用弱口令

比如常用的phpMyAdmin弱口令、一些测试服务器web测试账号弱口令等


除以上两种,还有一些利用条件不高的高危系统或组件漏洞,也需要注意





事前自检



针对这种问题,最好的防护方法就是自己做扫描检测,在fofa、shodan、zoomeye、censys等网络搜索引擎,直接输入自己的服务器ip地址,即可看到服务器暴露了哪些服务、哪些端口,从而进行确认自己服务器的安全问题可能出现在那里


当然你也可以通过nmap、zenmap、unicornscan、nast、msscan等端口扫描工具来查看自己服务器对外的端口,确认服务器的安全状况,该加授权访问的加授权,该加白名单的加白名单


对于弱密码的情况,如果是可控的情况,肯定是直接设置不允许弱口令,比如ssh,可以通过修改系统口令复杂度要求来完成,对于接手的服务器,或系统,可以通过一些工具,比如xscan、f-scrack、hydra、hscan等类型的工具,对弱口令进行扫描


若是web端的弱口令,我常用的方法是通过brup+字典的形式进行扫描,你也可以通过Cheetah、WebCrack等工具来测试,前提是获得内部许可


针对系统及组件的漏洞,可以通过Nessus自己进行安全检测,也可以通过审计工具lynis对服务器安全基线进行扫描





应急恢复



若不幸,已经被挖矿,那只好紧急处理,处理的原则就是尽快恢复业务


云服务器就相对简单了,如果是平常有做定时快照,及异地数据备份的,先将挖矿服务器做快照备份,用于事后复盘,然后恢复快照恢复数据及业务


如果是物理服务器就比较麻烦了,如果业务不能长时间中断,可以考虑先将业务切换到其他服务器,然后再进行排查清理


常见 的排查工具如下:

  • GScan

  • rkhunter

  • FastIR

等,都可以生成应急报告,根据报告进行确认及排查处理


总结:

    进攻是最好的防守,只有自己先了解了自己的弱点所在,才能做到更好的防御


话题

运维过程中,你还遇到过哪些安全问题,欢迎留言交流!


欢迎文末留言




运维技术交流群

「运维研习社」建立了运维技术交流群,大家可以添加小编微信进行加群。欢迎有想法、乐于分享的朋友们一起进群交流学习。


扫描添加好友邀您进运维交流群


推荐这款web安全分析工具,包你满意!

如何做Nginx安全日志可视化?

小白都能配置的WAF

Nginx安装后第一个要改的配置



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存